package com.example.export_data.bean;

import lombok.Data;

import javax.persistence.*;
import java.util.Date;

@Entity //声明一个实体，用的是Java规范下的注解
@Table(name = "user")
@org.hibernate.annotations.Table(appliesTo = "user", comment = "用户信息")
@Data
public class User {
    @Id
    @Column(columnDefinition = "bigint(15) comment '微盟用户wid，客户唯一标识'")
    Long wid; //微盟用户wid，客户唯一标识

    @Column(columnDefinition = "varchar(255) comment '手机号'")
    String phone; //手机号

    @Column(columnDefinition = "varchar(255) comment '会员卡号'")
    String code;//会员卡号

    @Column(columnDefinition = "datetime(6) comment '成为客户时间（毫秒级时间戳）'")
    Date gmtCreate;//成为客户时间（毫秒级时间戳）

    @Column(columnDefinition = "datetime(6) comment '领卡时间（毫秒级时间戳）'")
    Date cardPublishTime;// 领卡时间（毫秒级时间戳）

    @Column(columnDefinition = "varchar(255) comment '姓名（非微信昵称）'")
    String name;//姓名（非微信昵称）

    @Column(columnDefinition = "datetime(6) comment '生日'")
    Date birthday;//生日

    @Column(columnDefinition = "varchar(255) comment '身份证'")
    String idCard;//身份证

    @Column(columnDefinition = "varchar(255) comment '地址'")
    String address;//地址

    @Column(columnDefinition = "varchar(255) comment '邮箱'")
    String mail;//邮箱

    @Column(columnDefinition = "int(1) comment '性别（1：男； 2：女； 0：未知）'")
    Integer sex;//性别（1：男； 2：女； 0：未知）

    @Column(columnDefinition = "varchar(255) comment '教育背景'")
    String education;// 教育背景

    @Column(columnDefinition = "varchar(255) comment '爱好'")
    String hobby;//爱好

    @Column(columnDefinition = "varchar(255) comment '收入'")
    String income;// 收入

    @Column(columnDefinition = "varchar(255) comment '行业'")
    String industry;//行业

    @Column(columnDefinition = "varchar(255) comment '会员头像地址'")
    String logo;// 会员头像地址

    @Column(columnDefinition = "varchar(255) comment '会员等级名称'")
    String rankName;//会员等级名称

    @Column(columnDefinition = "int(11) comment '会员等级Id'")
    Long rankId;//会员等级Id

    @Column(columnDefinition = "int(11) comment '当前积分'")
    Long currentPoint;//当前积分

    @Column(columnDefinition = "int(11) comment '当前余额（单位：分）'")
    Long currentAmount;//当前余额（单位：分）

    @Column(columnDefinition = "int(11) comment '当前成长值'")
    Long currentGrowth;//当前成长值

    @Column(columnDefinition = "int(11) comment '可用实充余额 = C端充值 + 后台充值 + 接口充值（不包括下单未支付被冻结的部分）（单位：分）'")
    Long availableDepositAmount;// 可用实充余额 = C端充值 + 后台充值 + 接口充值（不包括下单未支付被冻结的部分）（单位：分）

    @Column(columnDefinition = "int(11) comment '可用赠送余额=接口增加的+营销活动赠送（不包括下单未支付被冻结的部分）（单位：分）'")
    Long availableGiveAmount;//可用赠送余额=接口增加的+营销活动赠送（不包括下单未支付被冻结的部分）（单位：分）

    @Column(columnDefinition = "int(11) comment '归属门店id'")
    Long homeStoreId;//归属门店id

    @Column(columnDefinition = "int(11) comment '会员状态：1-正常；2-冻结；3-未领取；5-过期'")
    Integer status;//会员状态：1-正常；2-冻结；3-未领取；5-过期
}
